<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>Freetype OpenGL: vertex-buffer.h File Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="style.css" rel="stylesheet" type="text/css" />



</head>
<body>
<div id="content"><!-- do not remove this div! -->

<div id="top"><!-- do not remove this div! -->

  
  <div id="titlearea">
    
    <div id="projectname">Freetype OpenGL</div>
    
    
    <div id="projectbrief">A high quality OpenGL text rendering engine for C</div>
    
  </div>
  

<!--

<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">Freetype OpenGL
   &#160;<span id="projectnumber">0.1</span>
   </div>
   <div id="projectbrief">A high quality OpenGL text rendering engine for C</div>
  </td>
  
  
  
   
  
 </tr>
 </tbody>
</table>
</div>
-->


<!-- Generated by Doxygen 1.8.0 -->
<script type="text/javascript" src="dynsections.js"></script>
</div>
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">vertex-buffer.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;opengl.h&quot;</code><br/>
<code>#include &quot;<a class="el" href="vector_8h_source.html">vector.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="vertex-attribute_8h_source.html">vertex-attribute.h</a>&quot;</code><br/>
</div>
<p><a href="vertex-buffer_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvertex__buffer__t.html">vertex_buffer_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generic vertex buffer.  <a href="structvertex__buffer__t.html#details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga309c1129a1028f251fe6e6c3c1534a42"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structvertex__buffer__t.html">vertex_buffer_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__vertex-buffer.html#ga309c1129a1028f251fe6e6c3c1534a42">vertex_buffer_new</a> (const char *format)</td></tr>
<tr class="memdesc:ga309c1129a1028f251fe6e6c3c1534a42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an empty vertex buffer.  <a href="group__vertex-buffer.html#ga309c1129a1028f251fe6e6c3c1534a42"></a><br/></td></tr>
<tr class="memitem:gae597565df08dfc7be10350e623212713"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__vertex-buffer.html#gae597565df08dfc7be10350e623212713">vertex_buffer_delete</a> (<a class="el" href="structvertex__buffer__t.html">vertex_buffer_t</a> *self)</td></tr>
<tr class="memdesc:gae597565df08dfc7be10350e623212713"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deletes vertex buffer and releases GPU memory.  <a href="group__vertex-buffer.html#gae597565df08dfc7be10350e623212713"></a><br/></td></tr>
<tr class="memitem:ga98cefebba15a1a170952b85e450d85ff"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__vertex-buffer.html#ga98cefebba15a1a170952b85e450d85ff">vertex_buffer_size</a> (const <a class="el" href="structvertex__buffer__t.html">vertex_buffer_t</a> *self)</td></tr>
<tr class="memdesc:ga98cefebba15a1a170952b85e450d85ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of items in the vertex buffer.  <a href="group__vertex-buffer.html#ga98cefebba15a1a170952b85e450d85ff"></a><br/></td></tr>
<tr class="memitem:gabe9bdf532963705ffa166c3017f95006"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__vertex-buffer.html#gabe9bdf532963705ffa166c3017f95006">vertex_buffer_format</a> (const <a class="el" href="structvertex__buffer__t.html">vertex_buffer_t</a> *self)</td></tr>
<tr class="memdesc:gabe9bdf532963705ffa166c3017f95006"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns vertex format.  <a href="group__vertex-buffer.html#gabe9bdf532963705ffa166c3017f95006"></a><br/></td></tr>
<tr class="memitem:gac1b6b528b73233638705a42a9d2c54e9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__vertex-buffer.html#gac1b6b528b73233638705a42a9d2c54e9">vertex_buffer_print</a> (<a class="el" href="structvertex__buffer__t.html">vertex_buffer_t</a> *self)</td></tr>
<tr class="memdesc:gac1b6b528b73233638705a42a9d2c54e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print information about a vertex buffer.  <a href="group__vertex-buffer.html#gac1b6b528b73233638705a42a9d2c54e9"></a><br/></td></tr>
<tr class="memitem:ga390b4831ad3ab7657df7e6fb8edde9e9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__vertex-buffer.html#ga390b4831ad3ab7657df7e6fb8edde9e9">vertex_buffer_render_setup</a> (<a class="el" href="structvertex__buffer__t.html">vertex_buffer_t</a> *self, GLenum mode, const char *what)</td></tr>
<tr class="memdesc:ga390b4831ad3ab7657df7e6fb8edde9e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prepare vertex buffer for render.  <a href="group__vertex-buffer.html#ga390b4831ad3ab7657df7e6fb8edde9e9"></a><br/></td></tr>
<tr class="memitem:ga19e2403a6f104a4cfcf49122f4f40794"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__vertex-buffer.html#ga19e2403a6f104a4cfcf49122f4f40794">vertex_buffer_render_finish</a> (<a class="el" href="structvertex__buffer__t.html">vertex_buffer_t</a> *self)</td></tr>
<tr class="memdesc:ga19e2403a6f104a4cfcf49122f4f40794"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finish rendering by setting back modified states.  <a href="group__vertex-buffer.html#ga19e2403a6f104a4cfcf49122f4f40794"></a><br/></td></tr>
<tr class="memitem:ga48df5bafd9315aabfb7f14bedb778c16"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__vertex-buffer.html#ga48df5bafd9315aabfb7f14bedb778c16">vertex_buffer_render</a> (<a class="el" href="structvertex__buffer__t.html">vertex_buffer_t</a> *self, GLenum mode, const char *what)</td></tr>
<tr class="memdesc:ga48df5bafd9315aabfb7f14bedb778c16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Render vertex buffer.  <a href="group__vertex-buffer.html#ga48df5bafd9315aabfb7f14bedb778c16"></a><br/></td></tr>
<tr class="memitem:ga21efec3953697246c6c50a619f508225"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__vertex-buffer.html#ga21efec3953697246c6c50a619f508225">vertex_buffer_render_item</a> (<a class="el" href="structvertex__buffer__t.html">vertex_buffer_t</a> *self, size_t index)</td></tr>
<tr class="memdesc:ga21efec3953697246c6c50a619f508225"><td class="mdescLeft">&#160;</td><td class="mdescRight">Render a specified item from the vertex buffer.  <a href="group__vertex-buffer.html#ga21efec3953697246c6c50a619f508225"></a><br/></td></tr>
<tr class="memitem:gae7bdc281640a4be5a60afb7d3f16a2eb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__vertex-buffer.html#gae7bdc281640a4be5a60afb7d3f16a2eb">vertex_buffer_upload</a> (<a class="el" href="structvertex__buffer__t.html">vertex_buffer_t</a> *self)</td></tr>
<tr class="memdesc:gae7bdc281640a4be5a60afb7d3f16a2eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Upload buffer to GPU memory.  <a href="group__vertex-buffer.html#gae7bdc281640a4be5a60afb7d3f16a2eb"></a><br/></td></tr>
<tr class="memitem:ga5a1c907e3e66b12be0c142e6d03acdaf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__vertex-buffer.html#ga5a1c907e3e66b12be0c142e6d03acdaf">vertex_buffer_clear</a> (<a class="el" href="structvertex__buffer__t.html">vertex_buffer_t</a> *self)</td></tr>
<tr class="memdesc:ga5a1c907e3e66b12be0c142e6d03acdaf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear all items.  <a href="group__vertex-buffer.html#ga5a1c907e3e66b12be0c142e6d03acdaf"></a><br/></td></tr>
<tr class="memitem:ga6cefde8ec247bcf71ff62409b2aa056a"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__vertex-buffer.html#ga6cefde8ec247bcf71ff62409b2aa056a">vertex_buffer_push_back</a> (<a class="el" href="structvertex__buffer__t.html">vertex_buffer_t</a> *self, void *vertices, size_t vcount, GLuint *indices, size_t icount)</td></tr>
<tr class="memdesc:ga6cefde8ec247bcf71ff62409b2aa056a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a new item to the collection.  <a href="group__vertex-buffer.html#ga6cefde8ec247bcf71ff62409b2aa056a"></a><br/></td></tr>
<tr class="memitem:gac2c777252c5dade93f26c56fc3427074"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__vertex-buffer.html#gac2c777252c5dade93f26c56fc3427074">vertex_buffer_insert</a> (<a class="el" href="structvertex__buffer__t.html">vertex_buffer_t</a> *self, size_t index, void *vertices, size_t vcount, GLuint *indices, size_t icount)</td></tr>
<tr class="memdesc:gac2c777252c5dade93f26c56fc3427074"><td class="mdescLeft">&#160;</td><td class="mdescRight">Insert a new item into the vertex buffer.  <a href="group__vertex-buffer.html#gac2c777252c5dade93f26c56fc3427074"></a><br/></td></tr>
<tr class="memitem:gaeaf9b4f1c666eba0363344f131e8880e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__vertex-buffer.html#gaeaf9b4f1c666eba0363344f131e8880e">vertex_buffer_erase</a> (<a class="el" href="structvertex__buffer__t.html">vertex_buffer_t</a> *self, size_t index)</td></tr>
<tr class="memdesc:gaeaf9b4f1c666eba0363344f131e8880e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Erase an item from the vertex buffer.  <a href="group__vertex-buffer.html#gaeaf9b4f1c666eba0363344f131e8880e"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><dl class="section author"><dt>Author:</dt><dd>Nicolas Rougier (<a href="#" onclick="location.href='mai'+'lto:'+'Nic'+'ol'+'as.'+'Ro'+'ugi'+'er'+'@in'+'ri'+'a.f'+'r'; return false;">Nicol<span style="display: none;">.nosp@m.</span>as.R<span style="display: none;">.nosp@m.</span>ougie<span style="display: none;">.nosp@m.</span>r@in<span style="display: none;">.nosp@m.</span>ria.f<span style="display: none;">.nosp@m.</span>r</a>) </dd></dl>
<dl class="section date"><dt>Date:</dt><dd>April, 2012 </dd></dl>
</div></div><!-- contents -->
</div>
</body>
</html>
